var LRUCache = function(capacity) {
    this.cache = new Map()
    this.max = capacity
};

LRUCache.prototype.get = function(key) {//读cache里面的值 没有就返回-1
//如果有的话先删掉  再把他放到最前面
    if(this.cache.has(key)){
        let tmp = this.cache.get(key)//先存起来
        this.cache.delete(key)//再删掉
        this.cache.set(key,tmp)//再重新添加，key为值，tmp为他出现的次数，map中的set总是添加到第一个
        return tmp
    }
    return -1
};

LRUCache.prototype.put = function(key, value) {//写入cache  先判断有没有超出最大值
//超出了  添加的里面没有   删除最后一个  再添加进去
//超出了  添加的里面有     找到里面有的那个  删除 再添加进去
    if(this.cache.has(key)){//有
        this.cache.delete(key)
    }else if( this.cache.size >=  this.max){//如果没有
        this.cache.delete(this.cache.keys().next().value)//删除最后一个
    }
    this.cache.set(key,value)
};
